<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // ============== 什么是深拷贝?  ================
        // 深拷贝: 在堆内存中开辟一个新的空间存新的对象
        //        递归的拷贝对象的所有属性和方法，拷贝前后的两个对象，互不影响
        // ============= end =============

        // 递归拷贝: 一层一层的，每一层都创建一个内存空间


        let obj1 = {
            name: 'JS',
            book: {
                title: "you don't know JS",
                price: '169'
            }
        }

        let a1 = { b: { c: {} } }
        let a2 = { ...a1 }
        console.log(a1.b.c === a2.b.c)  // true 
        // 浅拷贝：新旧对象的共享同一块内存空间


        // 深拷贝 
        let a3 = deepClone(a1)  // deepClone表示深拷贝的一些方法
        console.log(a3.b.c === a1.b.c) // false
    </script>
</body>

</html>